package com.genntii.examManager.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.genntii.examManager.common.result.PageResult;
import com.genntii.examManager.domain.dto.ExamAddDTO;
import com.genntii.examManager.domain.entity.Exam;
import com.genntii.examManager.domain.question.vo.ExamDetailVO;
import com.genntii.examManager.domain.vo.ExamVO;
import com.genntii.examManager.domain.vo.QuestionBankMongoVO;

import java.util.ArrayList;

public interface ExamService extends IService<Exam> {

    ExamDetailVO getExam(Long examId, Long userId);

    PageResult<ExamVO> getExamList(Integer pageNum, Integer pageSize, Long userId,Long courseId);

    void updateStatus(Long examId, Byte status);

    void addExam(ExamAddDTO examAddDTO, ArrayList<Long> mongoId, Long userId);

    PageResult<QuestionBankMongoVO> getQuestionBankList(Integer pageNum, Integer pageSize, Long subjectId, Byte questionType, String keyword);

    void setFinalExam(Long examId, Long courseId, Long userId);
}
